함수 호출에서, 엔진이 실행 컨텍스트에 넘겨주는 것
함수가 호출되면 3개의 파라미터 값을 실행 컨텍스트로 넘겨준다.
- 함수를 호출한 오브젝트
- this 바인딩 컴포넌트에 설정되어 this로 참조할 수 있게 된다.
- 함수 코드
- 엔진이 function object를 만들 때, function object의 내부 프로퍼티
[[Code]]
에 설정되어 있던 것을 넘겨준다.
- 엔진이 function object를 만들 때, function object의 내부 프로퍼티
- 호출한 함수의 파라미터 "값"
- 호출된 함수의 Argument Object에 Array-like설정하고, 실행컨텍스트의 선언적환경레코드에 인자들을 설정해둔다.
파라미터 "값" 매핑
호출"한" 함수에서 넘겨준 값을, 호출"된"함수의 파라미터(변수명) 작성 순서에 맞춰 맵핑하는 것을 말한다.
- 엔진 처리 관점에서, function object를 만들때, 인자들의 이름을 내부 프로퍼티
[[FormalParameters]]
에 저장해 두는데, 이 이름과 넘겨받은 값들을 매핑하고 그 결과를 선언적 환경 레코드에 설정한다.